// 鼠标移动滚动位置类
class Drag {
    constructor(vm) {
        console.log("vm===",vm);
      this.dragWrap = vm;// 要挂载的容器
      this._dom = {};
      this._x = 0;
      this._y = 0;
      this._top = 0;
      this._left = 0;
      this.move = false;
      this.down = false;
      this.init.apply(this, arguments);
    }
  
    // 绑定事件
    init() {
      this.bindEvent();
    }
  
    // 给要素增加鼠标事件mousedown，mouseup，mousemove
    bindEvent() {
      var t = this;
      this.dragWrap.addEventListener('mousedown', function (e) {
        e && e.preventDefault();
        if (!t.move) {
          t.move = false;
          t.down = true;
          t._x = e.clientX;
          t._y = e.clientY;
          t._top = t.dragWrap.scrollTop;
          t._left = t.dragWrap.scrollLeft;
        }
      });
      this.dragWrap.addEventListener('mouseup', function (e) {
        e && e.preventDefault();
        t.move = false;
        t.down = false;
      });
      this.dragWrap.addEventListener('mousemove', function (e) {
        if (t.down) {
          e && e.preventDefault();
          t.move = true;
          let x = t._x - e.clientX;
          let y = t._y - e.clientY;
          t.dragWrap.scrollLeft = t._left + x;
          t.dragWrap.scrollTop = t._top + y;
        }
      });
    }
  }
  export default Drag;
  
  